3.11 [UserExtensions] Sections

These sections are optional.

Summary

Defines the optional EDK II DEC file [UserExtensions] tag. The build tools must have an a priori knowledge of how to process any items in this section. EDK II build tools ignore this section.

Each [UserExtensions] section must have a unique set of UserId and IdString values. This means that the same UserId can be used in more than one section, provided the IdString values are different. The same IdString values can be used if the UserId values are different. The same IdString and UserId values can be used if specifying architecture specific content.

The use of a <MACROVAL> element in this section is prohibited.

The "common" architecture modifier in a section tag must not be combined with other architecture type modifiers; doing so may result in a build break.

Prototype

<UserExtensions> ::= "[UserExtensions" <com_attribs> "]" <EOL>
                     <statements>*
<com_attribs>    ::= {<UserId> <IdString> [".common"]} {<atttribs>}
<attribs>        ::= <attrs> ["," <TS> ""UserExtensions" <attrs>]*
<attrs>          ::= <UserId> <IdString> ["." <arch>]
<UserId>         ::= "." (a-zA-Z)(a-zA-Z0-9_.)*
<IdString>       ::= "." {<NormalizedString>} {<SimpleWord>}
<statements>     ::= Content is build tool chain specific.

Parameters

UserId

Words that contain period "." must be encapsulated in double quotation marks.

IdString

Normalized strings that contain period "." or space characters must be encapsulated in double quotation marks. It is recommended that the IdString start with a letter.

Example

[UserExtensions.NoSuchCorp."MyScript_1"] MyBatch.bat

3.11.1 [UserExtensions.TianoCore."ExtraFiles"] Section

This is an optional section.

Defines the optional EDK II DEC file [UserExtensions.TianoCore."ExtraFiles"] section tag. The EDK II build tools must not process any files listed in this section.

Summary

This section is used by the Intel(R) UEFI Packaging Tool that is distributed as part of the EDK II BaseTools, to locate files listed under this section header and add them to the UEFI distribution package. When installing a UEFI distribution package, these files will be installed in the package's directory tree.

Prototype

<UserExtensions> ::= "[UserExtensions" <TcEf> "]" <EOL> <FileNames>*
<TcEf>           ::= ".TianoCore." <DblQuote> "ExtraFiles" <DblQuote>
<FileNames>      ::= <TS> [<RelativePath>] <File> <EOL>

Parameters

FileNames

Paths listed in the filename elements of the this section must be relative to the directory the DEC file resides in. Use of "..", "." and "../" in the directory path is not permitted.

Example

[UserExtensions.TianoCore."ExtraFiles"]
  Readme.txt